package com.atguigu.cart.service;

import com.atguigu.cart.vo.CartItemVo;
import com.atguigu.cart.vo.CartVo;

import java.util.List;

/**
 * @Author ShiJieLin
 * @Date 2022/4/26 21:52
 * @Version 1.0
 */
public interface CartService {

    /** 添加商品到购物车
     * @param skuId 商品id
     * @param num 商品数量
     */
    void addToCart(Long skuId, Integer num);

    /** 查询获取购物车中的数据
     * @param skuId 商品id
     * @return
     */
    CartItemVo getCartItem(Long skuId);

    /** 获取所有的购物车商品，
     *  并且要合并登陆和临时用户中的购物车数据
     * @return
     */
    CartVo getAllCartItem();

    /** 清除购物车中的商品数据
     * @param cartKey user-key 或者用户id
     */
    void clearCartInfo(String cartKey);

    /** 获取用户购物车中选中的商品信息
     * @return
     */
    List<CartItemVo> getCurrentCartItems();
}
